@ GNU AS assembler header file for SysLog
@ Written by DefMod (Dec  9 2012) on Sun Dec  9 15:49:36 2012
@ Tom Hughes, tom@compton.nu, 22 Sep 2002

@ OSLib---efficient, type-safe, transparent, extensible,
@ register-safe API coverage of RISC OS
@ 
@ Copyright (c) 1994-2012 Jonathan Coxhead and OSLib maintainers
@ 
@ Licence:
@ 
@    OSLib is free software; you can redistribute it and/or modify
@ it under the terms of the GNU General Public License as published by
@ the Free Software Foundation; either version 1, or (at your option)
@ any later version - and this with the following clarification and
@ special exception:
@ 
@    Linking this library statically or dynamically with other modules
@ is making a combined work based on this library. Thus, the terms
@ and conditions of the GNU General Public License cover the whole
@ combination.
@ 
@    As a special exception, the copyright holders of this library
@ give you permission to link this library with independent modules
@ to produce an executable, regardless of the license terms of these
@ independent modules, and to copy and distribute the resulting
@ executable under terms of your choice, provided that you also meet,
@ for each linked independent module, the terms and conditions of the
@ license of that module. An independent module is a module which is
@ not derived from or based on this library. If you modify this
@ library, you may extend this exception to your version of the library,
@ but you are not obliged to do so. If you do not wish to do so, delete
@ this exception statement from your version.
@ 
@    OSLib is distributed in the hope that it will be useful,
@ but WITHOUT ANY WARRANTY; without even the implied warranty of
@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
@ GNU General Public License for more details.
@ 
@    You should have received a copy of the GNU General Public License
@ along with this programme; if not, write to the Free Software
@ Foundation, Inc, 675 Mass Ave, Cambridge, MA 02139, USA.

#ifndef SysLog_Hdr
#  define SysLog_Hdr

#  ifndef Get_Types
#    define Get_Types
#    include "oslib/Types.Hdr"
#  endif

#  ifndef Get_OS
#    define Get_OS
#    include "oslib/OS.Hdr"
#  endif

@Symbols for SWI's and SWI reason codes
.set XSysLog_LogMessage,0x6c880
.set SysLog_LogMessage,0x4c880
   @Entry
   @  R0 -> name_or_handle (Char)
   @  R1 -> message (Char)
   @  R2 = priority (Int)

.set XSysLog_LogMessageByHandle,0x6c880
.set SysLog_LogMessageByHandle,0x4c880
   @Entry
   @  R0 = handle (Bits)
   @  R1 -> message (Char)
   @  R2 = priority (Int)

.set XSysLog_GetLogLevel,0x6c881
.set SysLog_GetLogLevel,0x4c881
   @Entry
   @  R0 -> name_or_handle (Char)
   @Exit
   @  R0 = priority (Int)

.set XSysLog_GetLogLevelByHandle,0x6c881
.set SysLog_GetLogLevelByHandle,0x4c881
   @Entry
   @  R0 = handle (Bits)
   @Exit
   @  R0 = priority (Int)

.set XSysLog_FlushLog,0x6c882
.set SysLog_FlushLog,0x4c882
   @Entry
   @  R0 -> name_or_handle (Char)

.set XSysLog_FlushLogByHandle,0x6c882
.set SysLog_FlushLogByHandle,0x4c882
   @Entry
   @  R0 = handle (Bits)

.set XSysLog_SetLogLevel,0x6c883
.set SysLog_SetLogLevel,0x4c883
   @Entry
   @  R0 -> name_or_handle (Char)
   @  R1 = priority (Int)

.set XSysLog_SetLogLevelByHandle,0x6c883
.set SysLog_SetLogLevelByHandle,0x4c883
   @Entry
   @  R0 = handle (Bits)
   @  R1 = priority (Int)

.set XSysLog_LogUnstamped,0x6c884
.set SysLog_LogUnstamped,0x4c884
   @Entry
   @  R0 -> name_or_handle (Char)
   @  R1 -> message (Char)
   @  R2 = priority (Int)

.set XSysLog_LogUnstampedByHandle,0x6c884
.set SysLog_LogUnstampedByHandle,0x4c884
   @Entry
   @  R0 = handle (Bits)
   @  R1 -> message (Char)
   @  R2 = priority (Int)

.set XSysLog_Indent,0x6c885
.set SysLog_Indent,0x4c885
   @Entry
   @  R0 -> name_or_handle (Char)

.set XSysLog_IndentByHandle,0x6c885
.set SysLog_IndentByHandle,0x4c885
   @Entry
   @  R0 = handle (Bits)

.set XSysLog_UnIndent,0x6c886
.set SysLog_UnIndent,0x4c886
   @Entry
   @  R0 -> name_or_handle (Char)

.set XSysLog_UnIndentByHandle,0x6c886
.set SysLog_UnIndentByHandle,0x4c886
   @Entry
   @  R0 = handle (Bits)

.set XSysLog_NoIndent,0x6c887
.set SysLog_NoIndent,0x4c887
   @Entry
   @  R0 -> handle (Char)

.set XSysLog_NoIndentByHandle,0x6c887
.set SysLog_NoIndentByHandle,0x4c887
   @Entry
   @  R0 = handle (Bits)

.set XSysLog_OpenSessionLog,0x6c888
.set SysLog_OpenSessionLog,0x4c888
   @Entry
   @  R0 -> name (Char)
   @  R1 = priority (Int)
   @Exit
   @  R0 -> handle (Char)

.set XSysLog_OpenSessionLogByHandle,0x6c888
.set SysLog_OpenSessionLogByHandle,0x4c888
   @Entry
   @  R0 -> name (Char)
   @  R1 = priority (Int)
   @Exit
   @  R0 = handle (Bits)

.set XSysLog_CloseSessionLog,0x6c889
.set SysLog_CloseSessionLog,0x4c889
   @Entry
   @  R0 -> handle (Char)

.set XSysLog_CloseSessionLogByHandle,0x6c889
.set SysLog_CloseSessionLogByHandle,0x4c889
   @Entry
   @  R0 = handle (Bits)

.set XSysLog_LogData,0x6c88a
.set SysLog_LogData,0x4c88a
   @Entry
   @  R0 -> name_or_handle (Char)
   @  R1 = priority (Int)
   @  R2 -> data (data)
   @  R3 = data_size (Int)
   @  R4 -> base_address (data)

.set XSysLog_LogDataByHandle,0x6c88a
.set SysLog_LogDataByHandle,0x4c88a
   @Entry
   @  R0 = handle (Bits)
   @  R1 = priority (Int)
   @  R2 -> data (data)
   @  R3 = data_size (Int)
   @  R4 -> base_address (data)

.set XSysLog_ReadErrorMessage,0x6c88c
.set SysLog_ReadErrorMessage,0x4c88c
   @Entry
   @  R0 = error_number (Int)
   @Exit
   @  R0 -> error_message (Char)

.set XSysLog_LogComplete,0x6c88d
.set SysLog_LogComplete,0x4c88d
   @Entry
   @  R0 -> name_or_handle (Char)

.set XSysLog_LogCompleteByHandle,0x6c88d
.set SysLog_LogCompleteByHandle,0x4c88d
   @Entry
   @  R0 = handle (Bits)

.set XSysLog_IRQMode,0x6c88e
.set SysLog_IRQMode,0x4c88e
   @Entry
   @  R0 = flag (Bool)

.set XSysLog_LogCharacter,0x6c88f
.set SysLog_LogCharacter,0x4c88f

.set XSysLog_Control,0x6c890
.set SysLog_Control,0x4c890

.set XSysLog_Enumerate,0x6c891
.set SysLog_Enumerate,0x4c891

#endif
